/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import java.util.ArrayList;
import java.util.Iterator;

/**
 *
 * @author andreth
 */
public class Coordinador extends Usuario {

    // Lista de instituciones que coordina
    private ArrayList<Institucion> instituciones;
    // Id de la institucion de la última institución modificada
    private int id;

    public Coordinador() {
        super();
        this.instituciones = new ArrayList<Institucion>();
    }

    /*    @Override
    public String toString() {
    return "Coordinador{" + "institucionId=" + institucionId  + '}';
    }
     */
    public boolean equals(Coordinador c) {
        return this.getCedula().equals(c.getCedula());
    }

    public String consultarCoord() {
        String msj = super.consultar();
        return msj;
    }

    public void cloneWith(Coordinador coordinador) {
        super.cloneWith(coordinador);
        System.out.println("Las instituciones del coordinador son: " + coordinador.getInstituciones().size());
        this.setId(coordinador.getId());
        this.setInstituciones(coordinador.getInstituciones());
    }

    public void cleanAttributes() {
        super.cleanAttributes();
        this.instituciones = new ArrayList<Institucion>();
    }

    /**
     * Método para agregar una institución a la lista de instituciones que son 
     * coordinadas por el coordinador contenido en this
     * 
     * @param i Objeto Institucion que contiene la información de la institución
     *          a agregar
     * @return True si se agregó correctamente, false en caso contrario
     */
    public boolean agregarInstitucion(Institucion i) {
        this.instituciones.add(i);
        return true;
    }
    //Getters

    public ArrayList<Institucion> getInstituciones() {
        return this.instituciones;
    }

    //Setters
    public void setInstituciones(ArrayList<Institucion> institucion) {
        this.instituciones = institucion;
    }

    public int getId() {
        return this.id;
    }
    
    public void setId(int id){
        this.id = id;
    }
    
    public int getInstitucionId() {
        return this.id;
    }
    
    public void setInstitucionId(int id){
        this.id = id;
    }

}
